home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / kiss-0.11 / kiss-0 / kiss / src / file2file.c < prev    next >
C/C++ Source or Header  |  1995-03-23  |  529b  |  40 lines

  1. #include "kiss.h"
  2.  
  3. int file2file (FILE *inf, FILE *outf)
  4. {
  5.     register int
  6.     nzeros = 0,
  7.     nholes = 0,
  8.     ch;
  9.     
  10.     while (1)
  11.     {
  12.     ch = fgetc (inf);
  13.     if (feof (inf))
  14.         break;
  15.  
  16.     if (! ch)
  17.         nzeros++;
  18.     else
  19.     {
  20.         if (nzeros)
  21.         {
  22.         fseek (outf, nzeros, SEEK_CUR);
  23.         nzeros = 0;
  24.         nholes += (nzeros > HOLESIZE);
  25.         }
  26.         fputc (ch, outf);
  27.     }
  28.     }
  29.     
  30.     if (nzeros)
  31.     {
  32.     nholes += (nzeros > HOLESIZE);
  33.     fseek (outf, nzeros, SEEK_CUR);
  34.     fseek (outf, -1, SEEK_CUR);
  35.     fputc (0, outf);
  36.     }
  37.  
  38.     return (nholes);
  39. }
  40.